:root:root {
  // Color Palette
  --rv-black: #111;
  --rv-white: #fff;
  --rv-gray-1: #f7f8fa;
  --rv-gray-2: #f2f3f5;
  --rv-gray-3: #ebedf0;
  --rv-gray-4: #dcdee0;
  --rv-gray-5: #c8c9cc;
  --rv-gray-6: #969799;
  --rv-gray-7: #646566;
  --rv-gray-8: #323233;
  --rv-red: #ff5733;
  --rv-blue: #3f45ff;
  --rv-orange: #ff976a;
  --rv-orange-dark: #ed6a0c;
  --rv-orange-light: #fffbe8;
  --rv-green: #43cf7c;
  --rv-pink: #fc5090;
  --rv-purple: #b896ff;
  --rv-purple-dark: #8c57ff;
  --rv-purple-light: #dcccff;
  --rv-container: 15px;

  // Gradient Colors
  --rv-gradient-red: linear-gradient(to right, #ff6034, #ee0a24);
  --rv-gradient-orange: linear-gradient(to right, #ffd01e, #ff8917);

  // Component Colors
  --rv-primary-color: var(--rv-pink);
  --rv-success-color: var(--rv-green);
  --rv-danger-color: var(--rv-red);
  --rv-warning-color: var(--rv-orange);
  --rv-text-color: var(--rv-gray-8);
  --rv-active-color: var(--rv-gray-2);
  --rv-active-opacity: 0.7;
  --rv-disabled-opacity: 0.5;
  --rv-background-color: var(--rv-gray-1);
  --rv-background-color-light: #fafafa;
  --rv-text-link-color: #576b95;

  // Padding
  --rv-padding-base: 4px;
  --rv-padding-xs: 8px;
  --rv-padding-sm: 12px;
  --rv-padding-md: 16px;
  --rv-padding-lg: 24px;
  --rv-padding-xl: 32px;

  // Font
  --rv-font-size-xs: 10px;
  --rv-font-size-sm: 12px;
  --rv-font-size-md: 14px;
  --rv-font-size-lg: 16px;
  --rv-font-weight-bold: 500;
  --rv-line-height-xs: 14px;
  --rv-line-height-sm: 18px;
  --rv-line-height-md: 20px;
  --rv-line-height-lg: 22px;
  --rv-base-font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, Segoe UI, Arial,
  Roboto, 'PingFang SC', 'miui', 'Hiragino Sans GB', 'Microsoft Yahei', sans-serif;
  --rv-price-integer-font-family: Avenir-Heavy, PingFang SC, Helvetica Neue, Arial, sans-serif;

  // Animation
  --rv-animation-duration-base: 0.3s;
  --rv-animation-duration-fast: 0.2s;
  --rv-animation-timing-function-enter: ease-out;
  --rv-animation-timing-function-leave: ease-in;

  // Border
  --rv-border-color: var(--rv-gray-3);
  --rv-border-width-base: 1px;
  --rv-border-radius-sm: 2px;
  --rv-border-radius-md: 4px;
  --rv-border-radius-lg: 8px;
  --rv-border-radius-max: 999px;

  // Tabbar
  --rv-tabbar-height: 64px;
  --rv-tabbar-item-icon-margin-bottom: 4px;

  // Navbar
  --rv-nav-bar-arrow-size: 18px;
  --rv-nav-bar-icon-color: #666;
  --rv-nav-bar-text-color: #666;

  // Tab
  --rv-tab-font-size: var(--rv-font-size-lg);
  --rv-tab-active-text-color: var(--rv-purple-dark);
  --rv-tabs-default-color: var(--rv-purple);
  --rv-tabs-bottom-bar-color: var(--rv-purple);

  // Ant Design FontSize
  --adm-font-size-main: 14px;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
  'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--rv-text-color);
  background: var(--rv-background-color);
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
}

.container {
  margin: 0 auto;
  padding: 0 var(--rv-container);
}

.none {
  display: none;
}

.mtb10 {
  margin: 10px 0;
}

// 陪玩卡片
.partner-card {
  margin: 10px 0;
  border: 1px solid var(--rv-white);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  &:active, &:focus {
    background: linear-gradient(to bottom, #fcfaff, #f8f5ff);
    border: 1px solid var(--rv-purple-light);
  }
  .partner-avatar {
    .rv-image {
      padding: 4px;
      border: 1px solid var(--rv-purple-light);
    }
    .auth-badge {
      font-size: 0.6rem;
      color: var(--rv-white);
      width: 40px;
      text-align: center;
      background: var(--rv-purple);
      padding: 2px 4px;
      display: inline-block;
      border-radius: 4px;
      position: relative;
      top: -12px;
      left: 11px;
    }
  }
  .partner-name {
    margin: 0;
  }
  .partner-details {
    font-size: 0.85rem;
    color: var(--rv-gray-6);
    margin: 2px 0;
    span {
      color: var(--rv-gray-4);
      margin: 0 5px;
    }
  }
  .partner-photos {
    margin: 10px 0 5px;
  }
}

// 陪玩年龄
.partner-age {
  font-size: 0.75rem;
  color: var(--rv-white);
  height: 18px;
  padding: 0 4px;
  background: var(--rv-pink);
  opacity: 0.75;
  border-radius: 9px;
  .gender-icon {
    position: relative;
    top: 1px;
  }
}

// 陪玩状态
.partner-status {
  font-size: 0.75rem;
  .dot {
    width: 5px;
    height: 5px;
    margin-right: 3px;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    top: -2px;
  }
  .kong {
    color: #1ca653;
    padding: 1px 6px;
    background: #d5f5e2;
    border: 1px solid #bcebce;
    border-radius: 10px;
    .dot {
      background: #43cf7c;
    }
  }
  .busy {
    color: #f55;
    padding: 1px 6px;
    background: #ffe3e3;
    border: 1px solid #fcc;
    border-radius: 10px;
    .dot {
      background: #ff7575;
    }
  }
}

// 陪玩标签
.tag {
  font-size: 0.85rem;
  margin-right: 10px;
  padding: 2px 4px;
  display: inline-block;
  border-radius: 4px;
}
.tag1 {
  color: #d66ee6;
  background: #fdf1ff;
  border: 1px solid #fadeff;
}
.tag2 {
  color: #817dff;
  background: #ededff;
  border: 1px solid #dfdeff;
}
.tag3 {
  color: #ff7575;
  background: #feeeee;
  border: 1px solid #ffdede;
}

// 下单选择
.hd-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--rv-black);
  .title-icon {
    position: relative;
    top: 2px;
    color: var(--rv-purple);
    margin-right: 4px;
  }
}
.choose {
  padding: 5px 0;
  .item {
    text-align: center;
    padding: 4px;
    background: var(--rv-gray-1);
    border: 1px solid var(--rv-gray-2);
    border-radius: 6px;
    &.active {
      background: linear-gradient(to bottom, #eae0ff, #e5d9ff);
      border: 1px solid var(--rv-purple-light);
      transition: all .3s linear 0s;
    }
    .type-icon {
      width: 2rem;
      margin: 0.25rem auto;
      display: block;
    }
  }
  p {
    font-size: 0.85rem;
    margin: 0.25rem auto;
    display: block;
  }
}
.choose-time {
  margin: 10px 0;
}
.time-list {
  padding-bottom: 20px;
}

// 订单提交
.partner-submit-bar {
  .rv-tabbar {
    display: block;
  }
}
.submit-area {
  padding: 10px 0;
  .submit-price {
    font-size: 1rem;
    color: var(--rv-pink);
    position: relative;
    top: -2px;
    span {
      font-size: 1.5rem;
      font-weight: 600;
      margin-left: 2px;
    }
  }
  .submit-label {
    font-weight: 500;
    margin-left: 5px;
  }
  .submit-btn {
    font-weight: 600;
    font-size: 1rem;
    margin-left: 1rem;
    padding: 0 20px;
  }
}

// ActionSheet
.rv-action-sheet__header {
  position: relative;
  svg {
    position: absolute;
    right: 15px;
    top: 16px;
  }
}